ggplot(penguins, aes(x = species, fill = species)) +
geom_bar() +
labs(title = "Adelie Penguins are the most common in Antarctica",
subtitle = "Frequency of each penguin species studied near Palmer Station, Antarctica") +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))08-effective-communication
Effective Communication
Course Announcements
- Lecture Participation survey “due” after class
- Midterm due Monday (2/13; 11:59 PM)
- released Friday after lab
- completed individually
- Lab03 Scores & Feedback Posted
- Practice Exam Posted
Agenda
- Communicating for your audience
- Oral Communication
- Written Communication
- Visual Communication
Consider your audience
What does this mean?
What does it mean to “consider your audience?”
Simply: You do the work so they don’t have to.
…also the aesthetic-usability effect exists.
What’s the right level?
General Audience
✔ background
🚫 limit technical details
🎉 emphasize take-home
Technical Audience
⬇ limit background
💻 all-the-details
🎉 emphasize take-home
Considerations
- Platform: written? oral?
- Setting: informal? formal?
- Timing: never go over your time limit!
Storytelling
- Stories have a beginning, a middle, and an end.
- Stories do not need every detail of what you’ve tried
- Reports and presentations should tell a story
- Planning out your report/presentation can help
- You should explain your choices and the “why”
Choose informative titles
On presentations: Balance b/w short and informative (goal: concise)
Avoid: “Analyzing NHANES”
Better: “Data from the NHANES study shows that diet is related to overall health”
On visualizations: emphasize the take-home! (what’s learned or what action to take)
Avoid: “Boxplot of gender”
Better: “Twice as many females as males included for analysis”
Avoid: “Tickets vs. Time”
Better: “Staff unable to respond to incoming tickets; need to hire 2 FTEs”
Effective Oral Communication
Brainstorm: Advice You’ve Been Given?
Presentations are for listening
- Advantage: words to explain out loud what you’re showing
- You are presenting for the person in the back of the room.
To accomplish:
- don’t read directly off slides
- use animation to build your story (not to distract)
- introduce your axes
- watch your speech speed
- repetition is ok: tell what you’re going to tell them, tell them, tell them what you told them
- practice!
For Example: A Happy Ending for (almost) everyone in Little Red Riding Hood
- Red Riding Hood (RRH) has to walk 0.54 mi from Point A (home) to Point B (Grandma’s)
- RRH meets Wolf who (1) runs ahead to Grandma’s, (2) eats her, and (3) dresses in her clothes
- RRH arrives at Grandmas at 2PM, asks her three questions
- Identified problem: after third question, Wolf eats RRH
- Solution: vendor (Woodsman) employs tool (ax)
- Expected outcome: Grandma and RRH alive, wolf is not
Little Red Riding Hood
Effective Written Communication
Brainstorm: Advice You’ve Been Given?
Benefits of written communciation
Your audience has time to process…but the explanation has to be there!
- Hold the reader’s attention with what needs to be said; do so effectively
- Tell your audience why they should care; why it matters
Visually:
- more on a single visualization
- text/labels larger
Yes, often there are different visualizations for reports/papers than for presentations/lectures.
Example: When you have time to digest
Data Science Reports in .Rmd
- As concise as possible
- Necessary details (for your audience); nothing more
- Typical Sections: Introduction/Background, Setup, Data, Analysis, Conclusion, References
Controlling HTML document settings
- Table of Contents
---
title: "Document Title"
output:
html_document:
toc: true
toc_float: true
---
- Theme
---
title: "Document Title"
output:
html_document:
theme: united
highlight: tango
---
- Figure Options
---
title: "Document Title"
output:
html_document:
fig_width: 7
fig_height: 6
fig_caption: true
---
- Code Folding
---
title: "Document Title"
output:
html_document:
code_folding: hide
---
Controlling code chunk output
- Specified in the curly braces, separated by commas
{r, chunk-label, results='hide', fig.height=4}
eval: whether to execute the code chunkecho: whether to include the code in the outputwarning,message, anderror: whether to show warnings, messages, or errors in the knit documentfig.widthandfig.height: control the width/height of plots
- Controlling for the whole document:
knitr::opts_chunk$set(fig.width = 8, collapse = TRUE)
Editing & Proofreading
- Did you end up telling a story?
- Things missing?
- Things to delete?
- Do not fall in love with your words/code/plots
- Do spell check
- Do read it over before sending/presenting/submitting
Aside: Citing Sources
When are citations needed?
“We will be doing our analysis using two different data sets created by two different groups: Donohue and Mustard + Lott, or simply Lott”
“What turned from the idea of carrying firearms to protect oneself from enemies such as the British monarchy and the unknown frontier of North America has now become a nationwide issue.”
“Right to Carry Laws refer to laws that specify how citizens are allowed to carry concealed handguns when they’re away from home without a permit”
“In this case study, we are examining the relationship between unemployment rate, poverty rate, police staffing, and violent crime rate.”
“In the United States, the second amendment permits the right to bear arms, and this law has not been changed since its creation in 1791.”
“The Right to Carry Laws (RTC) is defined as “a law that specifies if and how citizens are allowed to have a firearm on their person or nearby in public.””
Reminder: You do NOT get docked points for citing others’ work. You can be at risk of AI Violation if you don’t. When in doubt, give credit.
Footnotes in .Rmd
How to specify a footnote in text:
Here is some body text.[^1]
How to include the footnote’s reference:
[^1]: This footnote will appear at the bottom of the page.
Note: .bib files can be included with BibTeX references using the bibliography parameter in your YAML
Effective Visual Communication
The Glamour of Graphics
- builds on top of the grammar (components) of a graphic
- considerations for the design of a graphic
- color, typography, layout
- going from accurate to 😍effective
These ideas and slides are all modified from Will Chase’s rstudio::conf2020 slides/talk
Left-align titles at top-left
😬 Accurate
😍 Effective
ggplot(penguins, aes(x = species, fill = species)) +
geom_bar() +
labs(title = "Adelie Penguins are the most common in Antarctica",
subtitle = "Frequency of each penguin species studied near Palmer Station, Antarctica") +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1),
plot.title.position = "plot")Avoid head-tilting
😬 Accurate
ggplot(penguins, aes(x = species, fill = species)) +
geom_bar() +
labs(title = "Adelie Penguins are the most common in Antarctica",
subtitle = "Frequency of each penguin species studied near Palmer Station, Antarctica") +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1),
plot.title.position = "plot")😍 Effective
ggplot(penguins, aes(y = species, fill = species)) +
geom_bar() +
labs(title = "Adelie Penguins are the most common in Antarctica",
subtitle = "Frequency of each penguin species studied near Palmer Station, Antarctica") +
theme(plot.title.position = "plot")Borders & Backgrounds: 👎
😬 Accurate
ggplot(penguins, aes(y = species, fill = species)) +
geom_bar() +
labs(title = "Adelie Penguins are the most common in Antarctica",
subtitle = "Frequency of each penguin species studied near Palmer Station, Antarctica") +
theme_bw() +
theme(plot.title.position = "plot") 😍 Effective
ggplot(penguins, aes(y = species, fill = species)) +
geom_bar() +
labs(title = "Adelie Penguins are the most common in Antarctica",
subtitle = "Frequency of each penguin species studied near Palmer Station, Antarctica") +
theme_minimal() +
theme(plot.title.position = "plot") Organize & Remove/Lighten as much as possible
😬 Accurate
ggplot(penguins, aes(y = species, fill = species)) +
geom_bar() +
labs(title = "Adelie Penguins are the most common in Antarctica",
subtitle = "Frequency of each penguin species studied near Palmer Station, Antarctica") +
theme_minimal() +
theme(plot.title.position = "plot") 😍 Effective
ggplot(penguins, aes(y = fct_rev(fct_infreq(species)), fill = species)) +
geom_bar() +
geom_text(stat='count', aes(label=..count..), hjust = 1.5, color = "white", size = 6) +
scale_x_continuous(expand = c(0, 0)) +
scale_fill_manual(values = c("#454545", rep("#adadad", 2))) +
labs(title = "Adelie Penguins are the most common in Antarctica",
subtitle = "Frequency of each penguin species studied near Palmer Station, Antarctica") +
theme_minimal(base_size = 18) +
theme(axis.text.x = element_blank(),
plot.title.position = "plot",
panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
axis.title = element_blank()) Legends suck
😬 Accurate
ggplot(penguins, aes(y = fct_rev(fct_infreq(species)), fill = species)) +
geom_bar() +
geom_text(stat='count', aes(label=..count..), hjust = 1.5, color = "white", size = 6) +
scale_x_continuous(expand = c(0, 0)) +
scale_fill_manual(values = c("#454545", rep("#adadad", 2))) +
labs(title = "Adelie Penguins are the most common in Antarctica",
subtitle = "Frequency of each penguin species studied near Palmer Station, Antarctica") +
theme_minimal(base_size = 18) +
theme(axis.text.x = element_blank(),
plot.title.position = "plot",
panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
axis.title = element_blank())😍 Effective
ggplot(penguins, aes(y = fct_rev(fct_infreq(species)), fill = species)) +
geom_bar() +
geom_text(stat='count', aes(label=..count..), hjust = 1.5, color = "white", size = 6) +
scale_x_continuous(expand = c(0, 0)) +
scale_fill_manual(values = c("#454545", rep("#adadad", 2))) +
labs(title = "Adelie Penguins are the most common in Antarctica",
subtitle = "Frequency of each penguin species studied near Palmer Station, Antarctica") +
theme_minimal(base_size = 18) +
theme(axis.text.x = element_blank(),
plot.title.position = "plot",
panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
axis.title = element_blank(),
legend.position = "none")Additional Guidance
- White space is like garlic - take the amount you need and triple it
- Fonts Matter
- Use Color Effectively
Recap
Suggested Reading
- Bookdown Section 2.6 R Code Chunks & inline R code
- Bookdown Chapter 3: Documents
- Will Chase’s rstudio::conf2020 talk: “The Glamour of Graphics” [slides] [video]